// [01:18.86]基于你还爱我
const timeReg = /\[(\d{2}):(\d{2})\.(\d{2,3})\]/

// 导出一个函数，用于解析歌词
export function parseLyric(lrcString) {
  // 创建一个空数组，用于存储解析后的歌词信息
  const lyricInfos = [];

  // 将歌词字符串按行分割，存储到数组中
  const lyricLines = lrcString.split("\n");
  // 遍历每一行歌词
  for (const lineString of lyricLines) {
    // 使用正则表达式匹配歌词中的时间
    const results = timeReg.exec(lineString);
    // 如果没有匹配到时间，则跳过该行
    if (!results) continue;
    // 将时间转换为毫秒
    const minute = results[1] * 60 * 1000;
    const second = results[2] * 1000;
    const mSecond = results[3].length === 2 ? results[3] * 10 : results[3] * 1;
    const time = minute + second + mSecond; // 将时间转换为毫秒
    // 将时间从歌词中移除，只保留歌词文本
    const text = lineString.replace(timeReg, "");
    // 将时间和歌词文本存储到数组中
    lyricInfos.push({ time, text });
  }
  // 返回解析后的歌词信息数组
  return lyricInfos;
}
